package servlet_casa_test;

import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import dao_utente.GestoreUtente;

public class HomePageTest2 {

	@Before
	public void setUp() throws Exception {
		this.home=new homePage();
		this.g=new GestoreUtente();
	}

	@After
	public void tearDown() throws Exception {
	}

	// test con un utente esistente nel db con almeno una casa configurata
	@Test
	public final void testDoGet() throws ServletException, IOException {
		
		HttpServletRequest request = mock(HttpServletRequest.class);       
        HttpServletResponse response = mock(HttpServletResponse.class); 
        
		bean.Utente utente= g.findUtentebyId(4);
		home.doGet(request, response, utente);
		assertTrue(home.getDone());
		
	}
	
	// test con un utente esistente nel db ma che non ha ancora configurato una casa
		@Test
		public final void testDoGet2() throws ServletException, IOException {
			
			HttpServletRequest request = mock(HttpServletRequest.class);       
	        HttpServletResponse response = mock(HttpServletResponse.class); 
	        
			bean.Utente utente= g.findUtentebyId(2);
			home.doGet(request, response, utente);
			assertFalse(home.getDone());
			
		}
		
		// test con un utente non esistente nel db 
				@Test
				public final void testDoGet3() throws ServletException, IOException {
					
					HttpServletRequest request = mock(HttpServletRequest.class);       
			        HttpServletResponse response = mock(HttpServletResponse.class); 
			        
					bean.Utente utente= g.findUtentebyId(10);
					home.doGet(request, response, utente);
					assertFalse(home.getDone());
					
				}
	private homePage home;
	private GestoreUtente g;
}
